home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 72 / applic / analyzer.doc next >
Encoding:
Text File  |  1986-11-21  |  4.7 KB  |  163 lines

  1.                      Analyzer docuementation
  2.  
  3.  
  4.      This program will analyze any DBman or H & D base command   
  5. file, cross reference any other text file and also indent any 
  6. command file base on the control words "IF, DO WHILE or 
  7. CASE."
  8.  
  9.      In analyzing the command file you have the option to indent, 
  10. graphically connect the appropriate command structures, and 
  11. analyze the logic for example:
  12.  
  13. SET TALK OFF
  14. use FM D:\database.stf\ATTORNEY.dbf INDEX D:\index.stf\NAME.ATT
  15. SET FM FILTER TO VAL(DTOC(M.END))=0
  16. go FM TOP
  17. y.ct=0
  18. do while y.ct <8
  19.         y.ct1=str(y.ct,1)
  20.         X.att_list&y.ct1 =""
  21.         inc y.ct
  22.         enddo
  23. y.ct=0
  24. y.ct1=str(y.ct,1)
  25. X.big_list=","
  26. go fm top
  27. do while not eof(fm)
  28.                if len(X.att_list&y.ct1) > 220
  29.                   X.att_list&y.ct1=substr(X.att_list&y.ct1,1,;
  30.                     len(X.att_list&y.ct1)-1)
  31.                     X.big_list=X.big_list+'X.att_list&y.ct1,'
  32.                     y.ct1=str(1+ (val(y.ct1)),1)
  33.                    
  34.                IF LEN(TRIM(M.LAST))>0
  35.                X.att_list&y.ct1 = X.att_list&y.ct1;
  36.                +!(substr(m.FIRST,1,1))+'. ';
  37.                +!(SUBSTR(m.MIDDLE,1,1))+'. ';
  38.                +toname(trim(m.LAST))+ ','
  39.                ENDIF
  40.                skip FM 1
  41.                enddo
  42.  
  43.         
  44. SET FM FILTER TO
  45.  
  46. save fX to D:\memory.stf\attorney.mem
  47. CLOSE FM
  48. return
  49.  
  50. becomes------------------------------------------:
  51.  
  52.     1  SET TALK OFF
  53.     2  
  54.     3  use FM D:\database.stf\ATTORNEY.dbf INDEX D:\index.stf\NAME.ATT
  55.     4  SET FM FILTER TO VAL(DTOC(M.END))=0
  56.     5  go FM TOP
  57.     6  y.ct=0
  58.     7  DO WHILE y.ct <8
  59.     8 |    y.ct1=str(y.ct,1)
  60.     9 |    X.att_list&y.ct1 =""
  61.    10 |    inc y.ct
  62.    11  ENDDO
  63.    12  y.ct=0
  64.    13  y.ct1=str(y.ct,1)
  65.    14  X.big_list=","
  66.    15  go fm top
  67.    16  DO WHILE not eof(fm)
  68.    17 |    IF len(X.att_list&y.ct1) > 220
  69.    18 |   |    X.att_list&y.ct1=substr(X.att_list&y.ct1,1,;
  70.    19 |   |    len(X.att_list&y.ct1)-1)
  71.    20 |   |    X.big_list=X.big_list+'X.att_list&y.ct1,'
  72.    21 |   |    y.ct1=str(1+ (val(y.ct1)),1)
  73.    22 |   |    
  74.    23 |   |    IF LEN(TRIM(M.LAST))>0
  75.    24 |   |   |    X.att_list&y.ct1 = X.att_list&y.ct1;
  76.    25 |   |   |    +!(substr(m.FIRST,1,1))+'. ';
  77.    26 |   |   |    +!(SUBSTR(m.MIDDLE,1,1))+'. ';
  78.    27 |   |   |    +toname(trim(m.LAST))+ ','
  79.    28 |   |    ENDIF
  80.    29 |   |    skip FM 1
  81.    30 |    ENDDO
  82.    31 |    
  83.    32 |    
  84.    33 |    SET FM FILTER TO
  85.    34 |    
  86.    35 |    save fX to D:\memory.stf\attorney.mem
  87.    36 |    CLOSE FM
  88.    37 |    return
  89.    38 |    
  90.  
  91.  CONTROL LINES FOR FILE Att_gen.asc.
  92. ---------------------------------------------------
  93.     7  DO WHILE y.ct <8
  94.    11  ENDDO
  95.    16  DO WHILE not eof(fm)
  96.    17 |    IF len(X.att_list&y.ct1) > 220
  97.    23 |   |    IF LEN(TRIM(M.LAST))>0
  98.    28 |   |    ENDIF
  99.    30 |    ENDDO
  100.  
  101.  LOGIC ERRORS FOR FILE Att_gen.asc.
  102. ---------------------------------------------------
  103.      IF without   ENDIF in line    17
  104.      IF in line      17 between   WHILE loop lines    16    30
  105.  
  106.  VARIABLE CROSS REFERENCE FOR FILE Att_gen.asc.
  107. ---------------------------------------------------
  108. ATTORNEY.dbf       3 
  109. .CLOSE             36 
  110. D                  3       3      35 
  111. DTOC               4 
  112. ENDIF             28 
  113. FILTER             4      33 
  114. FM                 3       4       5      29      33      36 
  115. IF                23 
  116. INDEX              3 
  117. LEN               23 
  118. M.END              4 
  119. M.LAST            23 
  120. NAME.ATT           3 
  121. OFF                1 
  122. SET                1       4      33 
  123. SUBSTR            26 
  124. TALK               1 
  125. TO                 4      33 
  126. TOP                5 
  127. TRIM              23 
  128. VAL                4 
  129. X.att_list         9      17      18      18      19      20      24      24 
  130. X.big_list        14      20      20 
  131. attorney.mem      35 
  132. database.stf       3 
  133. do                 7      16 
  134. enddo             11      30 
  135. eof               16 
  136. fX                35 
  137. fm                15      16 
  138. go                 5      15 
  139. if                17 
  140. inc               10 
  141. index.stf          3 
  142. len               17      19 
  143. m.FIRST           25 
  144. m.LAST            27 
  145. m.MIDDLE          26 
  146. memory.stf        35 
  147. not               16 
  148. return            37 
  149. save              35 
  150. skip              29 
  151. str                8      13      21 
  152. substr            18      25 
  153. to                35 
  154. toname            27 
  155. top               15 
  156. trim              27 
  157. use                3 
  158. val               21 
  159. while              7      16 
  160. y.ct               6       7       8      10      12      13 
  161. y.ct1              8       9      13      17      18      18      19      20
  162.                   21      21      24      24 
  163.